package com.hjm.project.channel.agent.domain;

import com.hjm.framework.aspectj.lang.annotation.Excel;
import com.hjm.framework.web.domain.BaseEntity;
import com.hjm.project.channel.picturesInfo.domain.AgentPicturesInfo;
import lombok.Data;

/**
 * 渠道代理商对象 channel_agent
 *
 * @author maker-platform
 * @date 2025-05-21
 */
@Data
public class ChannelAgent extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 代理商编号
     */
    @Excel(name = "代理商编号")
    private String agentId;
    private String cAgentId;

    /**
     * 操作用户
     */
    @Excel(name = "操作用户")
    private String modifyUser;

    /**
     * 联系人信息(JSON字符串)，包含账号、邮箱、手机等
     */
    @Excel(name = "联系人信息(JSON字符串)，包含账号、邮箱、手机等")
    private String contactInfo;

    /**
     * 基础信息(JSON字符串)，包含等级、性质、地址等
     */
    @Excel(name = "基础信息(JSON字符串)，包含等级、性质、地址等")
    private String baseInfo;

    /**
     * 结算信息(JSON字符串)，包含银行卡、开户人、联行号等
     */
    @Excel(name = "结算信息(JSON字符串)，包含银行卡、开户人、联行号等")
    private String settleInfo;

    /**
     * 结算信息列表(JSON数组字符串，仅支持一代代理商)
     */
    @Excel(name = "结算信息列表(JSON数组字符串，仅支持一代代理商)")
    private String settleInfoList;

    /**
     * 代理商上传的所有图片信息(JSON字符串)
     */
    @Excel(name = "代理商上传的所有图片信息(JSON字符串)")
    private String picturesInfo;

    /**
     * 交易结算信息(JSON字符串)，如分润模式等
     */
    @Excel(name = "交易结算信息(JSON字符串)，如分润模式等")
    private String businessInfo;

    /**
     * 当前处理状态
     */
    @Excel(name = "当前处理状态")
    private String status;

    /**
     * 渠道返回信息(JSON或文本)
     */
    @Excel(name = "渠道返回信息(JSON或文本)")
    private String channelResponse;

    /**
     * 父级代理商编号
     */
    @Excel(name = "父级代理商编号")
    private String parentAgentId;



    private String drawPattern; // 分润提取模式:1=按天,2=按月
    private String profitRuleType; // 分成模式:0=成本规则,1=sass高签...
    private String lowerDivideCent; // 分成比例
    private String subProfitBillFlag; // 下级代理商是否独立结算...


    private String businessLicenseEndDate; // 营业执照有效期
    private String legalPersonCertEndDate; // 法人证件有效期
    private String legalPersonCertPeriod; // 法人证件起始日期
    private String feeInfo; //成本信息

    private String enterpriseTitle;//公司名称
    private String legalPersonName;//法人姓名

    private String agentProperty;//代理商性质
    private String bankAccountType;//账号类型
    private AgentPicturesInfo agentPicturesInfo;

    private String channelCode;
    private String bankId; // 银行名称编码，仅 KDB 渠道使用

}
